403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/test_posixpath.cpython-313.opt-1.pyc
�

��i!����SSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJrJ	r	J
r
JrJr SSK
Jr SSK
Jr SSKJr SSKJr SSKJrJr SS	KJr SSKr\	"\5rS
rSr"SS
\R85r"SS\R<\R85r"SS\R85r \!S:Xa\RD"5 gg!\a SrN{f=f)�N)�partial)�realpath�abspath�dirname�basename�
ALLOW_MISSING)�support)�test_genericpath)�
import_helper)�	os_helper)�FakePath�TESTFN)�mockc�Z�S[;nSnU[R"U5"U5/U$)z�
On Windows, posixpath.abspath still returns paths with backslashes
instead of posix forward slashes. If this is the case, several tests
fail, so skip them.
�\z'ABSTFN is not a posix path - tests fail)�ABSTFN�unittest�skip)�test�found_backslash�msgs   �(C:\Python313\\Lib\test\test_posixpath.py�!skip_if_ABSTFN_contains_backslashrs0���f�n�O�
3�C��(�-�-��$�T�*�+�O�<�<�c�0�[R"SU5$)N�kwargs)r	�subTests)�
parameterss r�
_parameterizer&s�����H�j�1�1rc	��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSr\R&S5r\R,"\SLS5S5r\R,"\SLS5S5rSr\R,"\R8S:HS5\R<S55rSr Sr!\R,"\R8S:HS5S5r"\R,"\R8S:HS5S5r#/SQr$S r%\&\'"0S!S"0S!\(05S#55r)\&\'"0S!S"0S!\(05S$55r*\R&\&\'"0S!\(05S%555r+\R&\&S&55r,S'r-\R&\&\'"0S!\(05S(555r.\R&\&\'"0S!\(05S)555r/\R&\&S*55r0\R&\&\'"S!S"0S!\(05S+555r1\R&\&\'"0S!S"0S!\(05S,555r2\R&\&\'"0S!S"0S!\(05S-555r3\R&\&\'"0S!\(05S.555r4\R&\&\'"0S!S"0S!\(05S/555r5\R&\&\'"0S!S"0S!\(05S0555r6\R&\&\R,"\7Rp\7Rr;S15\R,"\R8S2:gS35S45555r:\R&\&\R,"\7Rp\7Rr;S15\R,"\R8S2:gS35\'"S!S"0S!\(05S555555r;\&\R&S655r<\&S75r=\R&\&S855r>\R&\&S955r?S:r@S;rAS<rBS=rCg)>�
PosixPathTest�*c�n�SH/nUR[R"[U-55 M1 g)N)��1�2)�assertFalse�	posixpath�lexistsr)�self�suffixs  r�setUp�PosixPathTest.setUp,s)��$�F����Y�.�.�v���?�@�%rc��[RnURU"SSSS5S5 URU"SSS5S5 URU"SSS	5S
5 URU"SSS
S5S5 URU"SSS5S5 URU"SSS5S5 URU"SS5S5 URU"SSS5S5 URU"SS5S5 URU"SS5S5 URU"SS5S5 URU"SS5S5 URU"SSS5S5 URU"SSS5S 5 URU"SS!S5S5 URU"S"S5S#5 URU"S$S5S#5 URU"SS%S&5S'5 URU"SS%S(5S(5 g))N�/foo�bar�/bar�baz�/bar/bazz/foo/bar/bazz/foo/zbar/zbaz/z
/foo/bar/baz/�/foo�bars/barsbazs/bar/bazs/foo/bar/bazs/foo/sbar/sbaz/s
/foo/bar/baz/�ar$za/�b�a/bzb/�a/b/�b/c�dza/b/c/dzb//cza/b//c/dzb/c/�/a�/a/bz/a/z/b�cz/b/cz/c)r(�join�assertEqual)r*�fns  r�	test_join�PosixPathTest.test_join0s���
�^�^������F�E�6�5�9�:�F�����F�E�5�1�>�J�����G�V�V�4�?�K�����G�V�W�f�=�{�K�����G�V�V�4��O�����H�g�w�7�?O�P�����C���t�4�����C��R��t�4�����C���u�5�����C���v�6�����D�#��u�5�����D�$��v�6�����C���,�y�9�����C���-�z�:�����C���-�y�9�����D�#��v�6�����E�3��v�6�����C��s�+�v�6�����C��t�,�t�4rc��UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S	5S
5 UR[R"S5S5 UR[R"S
5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 g)N�/foo/bar)r/r0�/)rFr$�foo)r$rG�////foo)�////rG�
//foo//bar)�//foor0�/foo/bar)r4r5�/)rMr�foo)rrN�////foo)�////rN�
//foo//bar)�//foor5)r@r(�split�r*s r�
test_split�PosixPathTest.test_splitHs���������4�o�F��������-�y�9��������/��=��������3�_�E��������6�8H�I��������5�7H�I��������.��<��������0�-�@��������4�6G�H��������7�9K�Lrc��UR[R"U5X#45 UR[R"SU-5SU-U45 UR[R"SU-5SU-U45 UR[R"SU-5SU-U45 UR[R"SU-5SU-U45 UR[R"US-5X#-S-S45 [US5n[US5n[US5nUR[R"U5X#45 UR[R"SU-5SU-U45 UR[R"SU-5SU-U45 UR[R"S	U-5S	U-U45 UR[R"S
U-5S
U-U45 UR[R"US-5X#-S-S45 g)NrFzabc/zabc.def/z	/abc.def/r$�ASCIIrMsabc/sabc.def/s	/abc.def/r)r@r(�splitext�bytes)r*�path�filename�exts    r�splitextTest�PosixPathTest.splitextTestUs������+�+�D�1�H�?�C�����+�+�C�$�J�7�#��.�#�9N�O�����+�+�F�T�M�:� �8�+�S�1�	3�����+�+�J��,=�>�$�x�/��5�	7�����+�+�K�$�,>�?�%��0�#�6�	8�����+�+�D�3�J�7�"�.�3�.��3�	5��T�7�#����7�+���C��!������+�+�D�1�H�?�C�����+�+�D�4�K�8���/�3�/�	1�����+�+�G�d�N�;�!�H�,�c�2�	4�����+�+�K�$�,>�?�%��0�#�6�	8�����+�+�L�4�,?�@�&��1�3�7�	9�����+�+�D�4�K�8�"�.�4�/��5�	7rc���URSSS5 URSSS5 URSSS5 URSS	S
5 URSSS5 URS
S
S5 URSSS5 URSSS5 URSSS5 URSSS5 URSSS5 URSSS5 g)Nzfoo.barrGz.barzfoo.boo.barzfoo.boozfoo.boo.biff.barzfoo.boo.biffz.csh.rcz.cshz.rc�nodotsr$z.cshrcz...manydotsz...manydots.extz.ext�.�..z........)r^rTs r�
test_splitext�PosixPathTest.test_splitextqs������)�U�F�3����-��F�;����,�n�f�E����)�V�U�3����(�H�b�1����(�H�b�1����-���;����+�]�F�C����#�s�B�'����$��b�)����*�j�"�5����"�b�"�%rc��[RnURU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S	5S
5 URU"S5S5 URU"S
5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S 5 URU"S!5S"5 URU"S#5S$5 g)%Nr$)r$r$r$r6)r$r$r6r8)r$r$r8r9)r$r$r9r<)r$rFr6r=)r$rFr8z/a/b/)r$rFr9�//a)r$�//r6z///a)r$rFrgz///a/b)r$rFz//a/b�c:/a/b)r$r$ri�\/a/b)r$r$rj�\a\b)r$r$rkr)rrr�a)rrrl�/a)rrMrl�//a)rs//rls///a)rrMrn)r(�	splitrootr@�r*�fs  r�test_splitroot�PosixPathTest.test_splitroots�����������2���-�����3���/�����5��?�3�����6��$4�5�����4��.�1�����6��$4�5�����7��%6�7�	
����5��?�3�����6��$4�5�����8��&8�9�����8��&8�9�����8��&8�9�����8��&8�9�����3���1�����4��"2�3�����5��#4�5�����6��$6�7�����7��%8�9rc��UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S	5S5 UR[R"S
5S5 UR[R"S5S5 UR[R"S5S5 g)
Nr$FrFTr/rE�foo/barrrMr4rLsfoo/bar)�assertIsr(�isabsrTs r�
test_isabs�PosixPathTest.test_isabs�s����
�
�i�o�o�b�)�5�1��
�
�i�o�o�c�*�D�1��
�
�i�o�o�f�-�t�4��
�
�i�o�o�j�1�4�8��
�
�i�o�o�i�0�%�8��
�
�i�o�o�c�*�E�2��
�
�i�o�o�d�+�T�2��
�
�i�o�o�g�.��5��
�
�i�o�o�k�2�D�9��
�
�i�o�o�j�1�5�9rc��UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S	5 UR[R"S
5S5 UR[R"S5S5 UR[R"S
5S5 UR[R"S5S	5 g)NrEr0rFr$rGrHrJrLr5rMrrNrOrQ)r@r(rrTs r�
test_basename�PosixPathTest.test_basename�s������+�+�J�7��?�����+�+�C�0�"�5�����+�+�E�2�E�:�����+�+�I�6��>�����+�+�L�9�5�A�����+�+�K�8�&�A�����+�+�D�1�3�7�����+�+�F�3�V�<�����+�+�J�7��@�����+�+�M�:�F�Crc��UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S	5 UR[R"S
5S5 UR[R"S5S5 UR[R"S
5S5 UR[R"S5S5 UR[R"S5S5 g)NrEr/rFrGr$rHrIrJrKrLr4rMrNrrOrPrQrR)r@r(rrTs r�test_dirname�PosixPathTest.test_dirname�s������*�*�:�6��?�����*�*�3�/��5�����*�*�5�1�2�6�����*�*�9�5�v�>�����*�*�<�8�'�B�����*�*�;�7��A�����*�*�4�0�$�7�����*�*�6�2�C�8�����*�*�:�6��@�����*�*�=�9�8�Drc�P�UR[R"[S-5S5 UR[R"[S-5S5 UR[R[S-5 [[S-S5nURS5 SSS5 UR[R"[S-5S5 [R"5(GaUR[R[S-5 [R"[S-[S-5 UR[R"[S-5S5 [R"[S-5 UR[R"[S-5S5 UR[R"[S-5S5 UR[R"[S-5S5 gg!,(df   GNv=f)Nr%Fr&�wbrNT)rvr(�islinkrr)�
addCleanupr�unlink�open�write�can_symlink�os�symlink�remove�existsrps  r�test_islink�PosixPathTest.test_islink�s`���
�
�i�&�&�v��|�4�e�<��
�
�i�'�'����5�u�=����	�(�(�&�3�,�7�
�&�3�,��
%��
�G�G�F�O�&��
�
�i�&�&�v��|�4�e�<�� � �"�"��O�O�I�,�,�f�s�l�;��J�J�v��|�V�c�\�2��M�M�)�*�*�6�C�<�8�$�?��I�I�f�s�l�#��M�M�)�*�*�6�C�<�8�$�?��M�M�)�*�*�6�C�<�8�%�@��M�M�)�+�+�F�S�L�9�4�@�#�	&�
%�s�H�
H%c��UR[R"[S-5S5 UR[R"[R
"[5S-5S5 UR[R"[S-5S5 UR[R"[R
"[5S-5S5 g)Nu�F����)rvr(r�rr��fsencoderTs r�test_islink_invalid_paths�'PosixPathTest.test_islink_invalid_paths�s����
�
�i�&�&�v��'8�9�5�A��
�
�i�&�&�r�{�{�6�':�W�'D�E�u�M��
�
�i�&�&�v���7��?��
�
�i�&�&�r�{�{�6�':�W�'D�E�u�Mrc�X�UR[R"S5S5 UR[R"S5S5 UR[R"[S55S5 UR[R"[S55S5 g)NrFTrM)rvr(�ismountr
rTs r�test_ismount�PosixPathTest.test_ismount�sn���
�
�i�'�'��,�d�3��
�
�i�'�'��-�t�4��
�
�i�'�'���
�6��=��
�
�i�'�'����7��>rc�T�UR[R"[5S5 [R
"[5 UR[R"[5S5 [R"[5 g![R"[5 f=f)NF)rvr(r�rr��mkdirr�rmdirrTs r�test_ismount_non_existent�'PosixPathTest.test_ismount_non_existent�s^���
�
�i�'�'��/��7�	$��H�H�V���M�M�)�+�+�F�3�U�;��O�O�F�#��I�O�O�F�#�s�AB�B'c�4�UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 g)N�/�F�/��/�/)rvr(r�rTs r�test_ismount_invalid_paths�(PosixPathTest.test_ismount_invalid_paths�sf���
�
�i�'�'�	�2�E�:��
�
�i�'�'��1�5�9��
�
�i�'�'��0�%�8��
�
�i�'�'��1�5�9rc��[R"S[5 UR[R
"[5S5 [R"[5 g![R"[5 f=f)NrFF)r�r�rrvr(r�rr�rTs r�test_ismount_symlinks�#PosixPathTest.test_ismount_symlinks�sK��	%��J�J�s�F�#��M�M�)�+�+�F�3�U�;����V�$��I���V�$�s�AA"�"A>NzTest requires posix modulec���[RnSnU[lUR[R"[
5S5 U[lg!U[lf=f)Nc�d�SnSnU[:XaSnSn[R"SXSSSSSSS4
5$)Nr�)r�posix�stat_result�r[�st_ino�st_devs   r�
fake_lstat�?PosixPathTest.test_ismount_different_device.<locals>.fake_lstat�sA���F��F��v�~������$�$�a���A�q�!�Q��1�%M�N�NrT�r��lstatrvr(r�r�r*�
save_lstatr�s   r�test_ismount_different_device�+PosixPathTest.test_ismount_different_device�sG���X�X�
�	O�	"�!�B�H��M�M�)�+�+�F�3�T�:�!�B�H��z�B�H���5A�
A#c���[RnSnU[lUR[R"[
5S5 U[lg!U[lf=f)Nc���SnSnUR[5(aU[:wa[S5eU[:XaSnSn[R"SXSSSSSSS4
5$)Nrz!Fake [Errno 13] Permission deniedr�)�
startswithr�OSErrorr�r�r�s   rr��EPosixPathTest.test_ismount_directory_not_readable.<locals>.fake_lstat
sd���F��F����v�&�&�4�6�>��A�B�B��v�~������$�$�a���A�q�!�Q��1�%M�N�NrTr�r�s   r�#test_ismount_directory_not_readable�1PosixPathTest.test_ismount_directory_not_readablesG���X�X�
�
	O�	"�!�B�H��M�M�)�+�+�F�3�T�:�!�B�H��z�B�H�r�c�V�UR[R"[55 g�N)r'r(�
isjunctionrrTs r�test_isjunction�PosixPathTest.test_isjunctions������-�-�f�5�6r�win32zFast paths are not for win32c���UR[RR[R
L5 UR
[R"[RR55 UR[RR[RL5 UR
[R"[RR55 gr�)�
assertTruer�r[ror��_path_splitroot_exr'�inspect�
isfunction�normpath�_path_normpathrTs r�test_fast_paths_in_use�$PosixPathTest.test_fast_paths_in_use!s���
	
������)�)�U�-E�-E�E�F�����+�+�B�G�G�,=�,=�>�?�������(�(�E�,@�,@�@�A�����+�+�B�G�G�,<�,<�=�>rc��UR[R"S5S5 UR[R"S5S5 g)NrGrN)r@r(�
expanduserrTs r�test_expanduser�PosixPathTest.test_expanduser+s8������-�-�e�4�e�<�����-�-�f�5�v�>rc�`�[R"5nSUS'UR[R"S5S5 SUS'UR[R"S5S5 SH�nURUS9 X!S'UR[R"S5S5 UR[R"S5S5 UR[R"S	5S
5 SSS5 M� SSS5 g!,(df   M�=f!,(df   g=f)Nz/home/victor�HOME�~z
/home/victor/)rFr$rh�///)�homerF�~/z~/foor/)r�EnvironmentVarGuardr@r(r��subTest)r*�envr�s   r�test_expanduser_home_envvar�)PosixPathTest.test_expanduser_home_envvar/s���
�
*�
*�
,��(�C��K����Y�1�1�#�6��G�*�C��K����Y�1�1�#�6��G�,���\�\�t�\�,�"&��K��$�$�Y�%9�%9�#�%>��D��$�$�Y�%9�%9�$�%?��E��$�$�Y�%9�%9�'�%B�F�K�	-�,�-�-�
,�-�,��-�
,�s%�A+D�A7D
�8D�
D�D�
D-�vxworkszno home directory on VxWorksc	���[R"S5nUR[R"S5[
5 UR[R"S5[5 [R"S5S:wazUR[R"S5S-[R"S55 UR[R"S5S-[R"S55 UR[R"S5[
5 UR[R"S	5[
5 UR[R"S
5[5 UR[R"S5[5 [R"5nUS	UR[R"55RnURS5=(d SnUR[R"S5U5 [R R#US
[$S9 [R R#US[$S9 SH)nUR[R"U5U5 M+ SSS5 SSS5 SSS5 g!,(df   N=f!,(df   N(=f!,(df   g=f)N�pwdr�s~/r�rF�~rMz~root/z~foo/s~root/s~foo/r��getpwuid)�side_effect�getpwnam)r�z~/.localz
~vstinner/)r�
import_module�assertIsInstancer(r��strrZr@rr�r�r��getuid�pw_dir�rstripr�patch�object�KeyError)r*r�r�r�r[s     r�test_expanduser_pwd�!PosixPathTest.test_expanduser_pwd?s���)�)�%�0�����i�2�2�4�8�#�>����i�2�2�5�9�5�A�����$��+�����$�$�S�)�C�/��$�$�T�*�
�
����$�$�T�*�T�1��$�$�U�+�
�	
���i�2�2�8�<�c�B����i�2�2�7�;�S�A����i�2�2�9�=�u�E����i�2�2�8�<�e�D�
�
*�
*�
,���F���<�<��	�	��,�3�3�D��;�;�s�#�*�s�D����Y�1�1�#�6��=����"�"�3�
��"�I����"�"�3�
��"�I�;�D��$�$�Y�%9�%9�$�%?��F�<�J�J�-�
,�J�I��J�I��-�
,�s=�<BK �$K�50J>�%K�-K �>
K�K�
K	�K � 
K.c
�B�[R"S5n[R"US5nU"5Vs/sHo3RPM nn[R
"S5(aSOSn[
U5U:�a1[R"U5 URSS9 XES-U*S-2	UH�nURU5nURnURS	5=(d S	nURXcRS
9 UR[R "SU-5U5 UR[R "["R$"SU-55["R$"U55 SSS5 M� gs snf!,(df   M�=f)Nr��getpwall�cpui��dc�"�UR5$r�)�isascii)�names r�<lambda>�4PosixPathTest.test_expanduser_pwd2.<locals>.<lambda>ss
�����r)�key�rF)r�r�r�)rr�r	�
get_attribute�pw_name�is_resource_enabled�len�random�shuffle�sortr�r�r�r�r@r(r�r�r�)r*r�r��entry�names�maxusersr�r�s        r�test_expanduser_pwd2�"PosixPathTest.test_expanduser_pwd2hsD���)�)�%�0���(�(��j�9��,4�J�7�J�5���J��7�"�6�6�u�=�=�4�3���u�:�� �
�N�N�5�!��J�J�6�J�7���k�8�)�Q�,�.�/��D��L�L��&�E��<�<�D��;�;�s�#�*�s�D����4����=�� � ��!5�!5�c�D�j�!A�4�H�� � ��!5�!5�b�k�k�#��*�6M�!N�!#���T�!2�4�>�=���8�>�=�s�F
�A;F�
F	)2)r$rb)rFrF)�/.rF)z/./rF)z/.//.rF)z
/./foo/barrE)r/r/)rErE)rhrh)r�rF)z///foo/.//bar//rE)z///foo/.//bar//.//..//.//baz///z/foo/baz)z///..//./foo/.//barrE)rbrb)z.//.rb)z	./foo/barru)rcrc)�../rc)�../foor	)�	../../foor
)z
../foo/../barz../bar)z../../foo/../bar/./baz/boom/..�
../../bar/baz��/..rFr)z/../rF)z/..//rF)z//.rh)z//..rh)�//...r)z//../foorK)z//../../foorK)�/../foor/)z
/../../foor/)z/../foo/../rF)z/../foo/../barr1)z/../../foo/../bar/./baz/boom/..r3)z/../../foo/../bar/./baz/boom/.z
/bar/baz/boom)zfoo/../bar/bazzbar/baz)zfoo/../../bar/bazz
../bar/baz)zfoo/../../../bar/bazr)zfoo///../bar/.././../baz/boomz../baz/boom)zfoo/bar/../..///../../baz/boomz../../baz/boom)�/foo/..rF)z
/foo/../..rF)z//foo/..rh)z//foo/../..rh)z	///foo/..rF)z///foo/../..rF)z
////foo/..rF)z/////foo/..rFc���URH�upURU5 [R"U5nUR	X25 SSS5 URS5nURS5nURU[S9 [R"U5nUR	X25 SSS5 M� g!,(df   Ny=f!,(df   M�=f)Nzutf-8)�type)�NORMPATH_CASESr�r(r�r@�encoderZ)r*r[�expected�results    r�
test_normpath�PosixPathTest.test_normpath�s���"�1�1�N�D����d�#�"�+�+�D�1��� � ��2�$��;�;�w�'�D����w�/�H����d���/�"�+�+�D�1��� � ��2�0�/�2�#�#��0�/�s�(B>�	(C�>
C	�
C	�strictTc�|�UR[S0UD6[R"55 UR[S0UD6[R"55 UR[SR	S/S-540UD6[R"55 UR[S0UD6[R
"55 UR[S	0UD6[R
"55 UR[SR	S/S-540UD6[R
"55 g)
NrbrFr��.rM)rb)z./.)r)s./.)r@rr��getcwdr?�getcwdb�r*rs  r�test_realpath_curdir�"PosixPathTest.test_realpath_curdir�s���	
����0��0�"�)�)�+�>�����2�6�2�B�I�I�K�@�����#�(�(�C�5�3�;�"7�B�6�B�B�I�I�K�P�����1�&�1�2�:�:�<�@�����3�F�3�R�Z�Z�\�B�����$�)�)�T�F�S�L�"9�D�V�D�b�j�j�l�Src	��UR[S0UD6[[R"555 UR[S0UD6[[[R"5555 UR[SRS/S-540UD6S5 UR[S0UD6[[R"555 UR[S	0UD6[[[R"5555 UR[SRS/S-540UD6S5 g)
NrcrFr��..rM)rc)z../..)r")s../..)r@rrr�rr?rrs  r�test_realpath_pardir�"PosixPathTest.test_realpath_pardir�s���	
����1�&�1�7�2�9�9�;�3G�H�����4�V�4�g�g�b�i�i�k�>R�6S�T�����#�(�(�D�6�C�<�"8�C�F�C�S�I�����2�6�2�G�B�J�J�L�4I�J�����5�f�5�w�w�r�z�z�|�?T�7U�V�����$�)�)�U�G�c�M�":�E�f�E�t�Lrc�
�[R"[S-[5 UR[	[40UD6[S-5 [
R"[5 g![
R"[5 f=f�Nr%)r�r�rr@rrr�rs  r�test_realpath_basic�!PosixPathTest.test_realpath_basic�sT��
	%��J�J�v�c�z�6�*����X�f�7��7����D����V�$��I���V�$�s�A	A&�&Bc�:�[R"[S-[5 UR[[
[SS9 UR[[
[S-SS9 [R"[5 g![R"[5 f=f)Nr%T�rr&)r�r�r�assertRaises�FileNotFoundErrorrrr�rTs r�test_realpath_strict�"PosixPathTest.test_realpath_strict�sk��
	%��J�J�v�c�z�6�*����/��6�$��O����/��6�C�<�PT��U����V�$��I���V�$�s�A!A>�>Bc�h�SnUR[[USS9 UR[[USS9 UR[[U[S9 SnUR[[USS9 UR[[USS9 UR[[U[S9 SnUR[[USS9 UR[[USS9 UR[[U[S9 SnUR[[USS9 UR[[USS9 UR[[U[S9 SnUR[[USS9 UR[[USS9 UR[[U[S9 S	nUR[[USS9 UR[[USS9 UR[[U[S9 S
nUR[[USS9 UR[[USS9 UR[[U[S9 SnUR[[USS9 UR[[USS9 UR[[U[S9 Sn[
RS
:XaSUR[USS9U5 UR[[USS9 UR[U[S9U5 ORUR[[USS9 UR[[USS9 UR[[U[S9 Sn[
RS
:Xa9UR[USS9U5 UR[U[S9U5 O8UR[[USS9 UR[[U[S9 UR[[USS9 Sn[
RS
:XaSUR[USS9S5 UR[[USS9 UR[U[S9S5 ORUR[[USS9 UR[[USS9 UR[[U[S9 Sn[
RS
:Xa9UR[USS9S5 UR[U[S9S5 O8UR[[USS9 UR[[U[S9 UR[[USS9 Sn[
RS
:XaSUR[[USS9 UR[[USS9 UR[[U[S9 O�UR[USS9U5 [R(a9UR[[USS9 UR[[U[S9 O8UR[[USS9 UR[U[S9U5 Sn[
RS
:Xa9UR[[USS9 UR[[U[S9 OUR[USS9U5 [R(a9UR[[USS9 UR[[U[S9 gUR[[USS9 g)Nr�Fr*Tr�z/nonexistent/xs/nonexistent/xz//..s//..z/nonexistent/x/..s/nonexistent/x/..r�r�u/nonexistent/�u/�/..rFu/nonexistent/�/..z/nonexistentr�s/nonexistent/�)
r+�
ValueErrorrrr,�sys�platformr@�UnicodeEncodeError�UnicodeDecodeErrorr	�is_wasir�)r*r[s  r�test_realpath_invalid_paths�)PosixPathTest.test_realpath_invalid_paths�s�������*�h��U��C����*�h��T��B����*�h��]��K������*�h��U��C����*�h��T��B����*�h��]��K�#�����*�h��U��C����+�X�t�D��I����*�h��]��K�$�����*�h��U��C����+�X�t�D��I����*�h��]��K������*�h��U��C����*�h��T��B����*�h��]��K������*�h��U��C����*�h��T��B����*�h��]��K�&�����*�h��U��C����+�X�t�D��I����*�h��]��K�'�����*�h��U��C����+�X�t�D��I����*�h��]��K����<�<�7�"����X�d�5�9�4�@����/��4���M����X�d�=�A�4�H����0�(�D���O����0�(�D���N����0�(�D���W�$���<�<�7�"����X�d�5�9�4�@����X�d�=�A�4�H����0�(�D���O����0�(�D���W����+�X�t�D��I����<�<�7�"����X�d�5�9�3�?����/��4���M����X�d�=�A�3�G����0�(�D���O����0�(�D���N����0�(�D���W�'���<�<�7�"����X�d�5�9�>�J����X�d�=�A�>�R����0�(�D���O����0�(�D���W����+�X�t�D��I����<�<�7�"����0�(�D���O����0�(�D���N����0�(�D���W����X�d�5�9�4�@�����!�!�'�8�T�$�!�G��!�!�'�8�T�-�!�P��!�!�"3�X�t�D�!�Q�� � ��$�}�!E�t�L�#���<�<�7�"����0�(�D���O����0�(�D���W����X�d�5�9�4�@��?�?����g�x��d��C����g�x��m��L����/��4���Mrc�2�[R"[R"[S-5[5 UR[
[40UD6[S-5 [R"[5 g![R"[5 f=fr&)	r�r�r(�relpathrr@rrr�rs  r�test_realpath_relative�$PosixPathTest.test_realpath_relativeNs_��	%��J�J�y�(�(����4�f�=����X�f�7��7����D����V�$��I���V�$�s�AA:�:Bc��[R"[S-[5 UR[	S[-40UD6[
S-5 [R"[5 g![R"[5 f=f)Nr%znonexistent/../)r�r�rr@rrrr�rs  r�test_realpath_missing_pardir�*PosixPathTest.test_realpath_missing_pardirXs`��	%��J�J�v��|�V�,�����*�V�3�>�v�>����
N�
���V�$��I���V�$�s�AA)�)Bc�2	�[R"[[5 UR[	[5[5 [R"[S-[S-5 [R"[S-[S-5 UR[	[S-5[S-5 UR[	[S-5[S-5 UR[	[S-5[S-5 UR[	[S-5[[55 UR[	[S-5[[5S-5 [R"[S-[S-5 UR[	[S	-[
[5-S-5[S-5 UR[	[S	-[
[5-S-5[S-5 [R"[
[5S
-[S-5 UR[	[S-5[S
-5 [R"S[
[[55-S
-[
[5-S-[S-5 UR[	[S-5[S-5 [R"[[55 UR[	[
[55[5 SSS5 [R"[5 [R"[S-5 [R"[S-5 [R"[S-5 [R"[S-5 [R"[S-5 g!,(df   N�=f![R"[5 [R"[S-5 [R"[S-5 [R"[S-5 [R"[S-5 [R"[S-5 f=f)Nr%r&�1/x�1/..�1/../x�/x�x�y�1/../r8r6rrFr>)
r�r�rr@rrrr�
change_cwdr�rTs r�test_realpath_symlink_loops�)PosixPathTest.test_realpath_symlink_loopscs��
"	)��J�J�v�v�&����X�f�-�v�6��J�J�v�c�z�6�#�:�.��J�J�v�c�z�6�#�:�.����X�f�S�j�1�6�#�:�>����X�f�S�j�1�6�#�:�>����X�f�U�l�3�V�E�\�B����X�f�V�m�4�g�f�o�F����X�f�X�o�6����$�8N�O��J�J�v�c�z�6�#�:�.����X�f�W�n�x��7G�&G�#�&M�N�#�c�\�
+����X�f�W�n�x��7G�&G�#�&M�N�#�c�\�
+�
�J�J�x��'�%�/����<����X�f�S�j�1�6�%�<�@��J�J�u�x����8�8�3�>���'�(�*-�.�/5�c�z�
;����X�f�S�j�1�6�#�:�>��%�%�g�f�o�6�� � ��(�6�*:�!;�V�D�7�
���V�$����V�C�Z�(����V�C�Z�(����V�C�Z�(����V�C�Z�(����V�C�Z�(�7�6��
���V�$����V�C�Z�(����V�C�Z�(����V�C�Z�(����V�C�Z�(����V�C�Z�(�s%�K5O)�7-O�$O)�
O&�"O)�)B-Rc��[R"[[5 UR"[[
[40UD6 [R"[S-[S-5 [R"[S-[S-5 UR"[[
[S-40UD6 UR"[[
[S-40UD6 UR"[[
[S-40UD6 UR"[[
[S-40UD6 UR"[[
[S-40UD6 [R"[S-[S-5 UR"[[
[S-[
[5-S-40UD6 UR"[[
[S-[
[5-S-40UD6 [R"[
[5S	-[S
-5 UR"[[
[S
-40UD6 [R"S[
[[55-S-[
[5-S
-[S
-5 UR"[[
[S
-40UD6 [R"[[55 UR"[[
[
[540UD6 SSS5 [R"[5 [R"[S-5 [R"[S-5 [R"[S-5 [R"[S
-5 [R"[S
-5 g!,(df   N�=f![R"[5 [R"[S-5 [R"[S-5 [R"[S-5 [R"[S
-5 [R"[S
-5 f=f)Nr%r&r@rArBrDrErFr8r6rrFr>)r�r�rr+r�rrrrrGr�rs  r�"test_realpath_symlink_loops_strict�0PosixPathTest.test_realpath_symlink_loops_strict�s���"	)��J�J�v�v�&����g�x��B�6�B��J�J�v�c�z�6�#�:�.��J�J�v�c�z�6�#�:�.����g�x����F�v�F����g�x����F�v�F����g�x����H��H����g�x����I�&�I����g�x����K�F�K��J�J�v�c�z�6�#�:�.����g�x�$�W�n�x��/?�?�#�E�
Q�IO�
Q����g�x�$�W�n�x��/?�?�#�E�
Q�IO�
Q�
�J�J�x��'�%�/����<����g�x����F�v�F��J�J�u�x����8�8�3�>���'�(�*-�.�/5�c�z�
;����g�x����F�v�F��%�%�g�f�o�6��!�!�'�8�X�f�5E�P��P�7�
���V�$����V�C�Z�(����V�C�Z�(����V�C�Z�(����V�C�Z�(����V�C�Z�(�7�6��
���V�$����V�C�Z�(����V�C�Z�(����V�C�Z�(����V�C�Z�(����V�C�Z�(�s%�J7N)�9+N�$N)�
N&�"N)�)B-Qc�z�[R"[5 [R"S[	[5-[S-5 [R"S[S-5 UR[
[S-40UD6[5 [R"[S-5 [R"[S-5 [R"[5 g![R"[S-5 [R"[S-5 [R"[5 f=f)Nrz/selfzself/self/selfz/link)
r�r�rr�rr@rrr�r�rs  r�(test_realpath_repeated_indirect_symlinks�6PosixPathTest.test_realpath_repeated_indirect_symlinks�s���
	$��H�H�V���J�J�u�x��/�/��'�1A�B��J�J�'��'�)9�:����X�f�w�&6�A�&�A�6�J����V�g�-�.����V�g�-�.��O�O�F�#��
���V�g�-�.����V�g�-�.��O�O�F�#�s
�B
C$�$AD:c�X�Sn[R"[5 [U5H=n[R"SRSU-/S-5[SUS---5 M? [R"S[S-5 UR
[[SU--40UD6[5 [R"[5 UR
[SU-5[5 SSS5 [US-5H#n[R"[SU--5 M% [R"[5 g!,(df   N^=f![US-5H#n[R"[SU--5 M% [R"[5 f=f)N�
rFz%dz/%dr�rbz/0)r�r�r�ranger�r?r@rrrGr�r�)r*r�depth�is    r�test_realpath_deep_recursion�*PosixPathTest.test_realpath_deep_recursion�s3����
	$��H�H�V���5�\���
�
�3�8�8�T�A�X�J��O�4�f�u��A���6N�O�"��J�J�s�F�T�M�*����X�f�u�u�}�&<�G��G��P��%�%�f�-�� � ��$��,�!7��@�.��5�1�9�%��� � ��%�!�)�!3�4�&��O�O�F�#�.�-���5�1�9�%��� � ��%�!�)�!3�4�&��O�O�F�#�s%�CE�#E�/E�
E�E�AF)c���[R"[5 [R"[S-5 [R"[S-[S-5 [R
"[S-5 UR
[S0UD6[S-5 SSS5 [R"[S-5 [R"[S-5 [R"[5 g!,(df   Nc=f![R"[S-5 [R"[S-5 [R"[5 f=f)Nz/y�/kz/y/a)r6)
r�r�rr�rrGr@rr�r�rs  r�test_realpath_resolve_parents�+PosixPathTest.test_realpath_resolve_parents�s���	$��H�H�V���H�H�V�d�]�#��J�J�v��}�f�t�m�4��%�%�f�t�m�4�� � ��!8��!8�$*�V�O�5�5�
���V�d�]�+��O�O�F�T�M�*��O�O�F�#�
5�4��
���V�d�]�+��O�O�F�T�M�*��O�O�F�#�s%�A9D�;#C;�D�;
D	�D�AE"c��[R"[5 [R"[S-5 [R"[S-5 [R"[S-[S-5 UR	[[S-40UD6[S-5 [R"[[55 UR	[[[5S-40UD6[S-5 SSS5 [R"[S-5 [R"[S-5 [R"[S-5 [R"[5 g!,(df   N�=f![R"[S-5 [R"[S-5 [R"[S-5 [R"[5 f=f)NrXz/k/yz/link-yz
/link-y/..)r�r�rr�r@rrrGrrr�r�rs  r�(test_realpath_resolve_before_normalizing�6PosixPathTest.test_realpath_resolve_before_normalizing�s>��	$��H�H�V���H�H�V�d�]�#��H�H�V�f�_�%��J�J�v�����(:�;�
���X�f�|�&;�F�v�F��QU�
�V��%�%�g�f�o�6�� � ��(�6�*:�\�*I�!T�V�!T�!'�$��0�7�
���V�i�/�0��O�O�F�V�O�,��O�O�F�T�M�*��O�O�F�#�7�6��
���V�i�/�0��O�O�F�V�O�,��O�O�F�T�M�*��O�O�F�#�s%�CF�4E6�<F�6
F�F�A3G:c�<�[R"[5 [R"[S-5 [R"[[S-5 [R
"[
[55 [[5nUR[US-40UD6[5 UR[US-40UD6[S-5 SSS5 [R"[S-5 [R"[S-5 [R"[5 g!,(df   Nc=f![R"[S-5 [R"[S-5 [R"[5 f=f)NrX�linkzlink/k)r�r�rr�rrGrrr@rr�r�)r*r�bases   r�test_realpath_resolve_first�)PosixPathTest.test_realpath_resolve_firsts��	$��H�H�V���H�H�V�d�]�#��J�J�v�v���/��%�%�g�f�o�6���'��� � ��$��-�!B�6�!B�F�K�� � ��$��/�!D�V�!D�f�t�m�T�7�

���V�f�_�-��O�O�F�T�M�*��O�O�F�#�7�6��

���V�f�_�-��O�O�F�T�M�*��O�O�F�#�s&�A<E�>AD4�E�4
E�>E�AFzCan't set symlink permissions�darwinz1only macOS requires read permission to readlink()c��[R"[S-[5 [R"[SSS9 UR	[[5[5 UR	[[S-5[S-5 UR	[[S-5[
[5S-5 UR	[[S-5[5 [R"[SSS9 [R"[5 g![R"[SSS9 [R"[5 f=f�	Nr%rF)�follow_symlinksr/rr��)	r�r�r�chmodr@rrrr�rTs r� test_realpath_unreadable_symlink�.PosixPathTest.test_realpath_unreadable_symlinks���
		%��J�J�v�c�z�6�*��H�H�V�U�E�:����X�f�-�v�6����X�f�v�o�6����H����X�f�y�&8�9�7�6�?�V�;S�T����X�f�y�&8�9�6�B��H�H�V�U�E�:����V�$��
�H�H�V�U�E�:����V�$�s�C D�6E
c�d�[R"[S-[5 [R"[SSS9 UR	[
5 [
[40UD6 SSS5 UR	[
5 [
[S-40UD64 SSS5 UR	[
5 [
[S-40UD6 SSS5 UR	[
5 [
[S-40UD6 SSS5 [R"[SSS9 [R"[5 g!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   Nv=f![R"[SSS9 [R"[5 f=fre)r�r�rrhr+�PermissionErrorrr�rs  r�'test_realpath_unreadable_symlink_strict�5PosixPathTest.test_realpath_unreadable_symlink_strict/s��
	��J�J�v�c�z�6�*��H�H�V�U�E�:��"�"�?�3���*�6�*�4��"�"�?�3���&��3�F�3�4�4��"�"�?�3���)�+�6�v�6�4��"�"�?�3���)�+�6�v�6�4�
�H�H�V�U�E�:��I�I�f��4�3��3�3��3�3��3�3��
�H�H�V�U�E�:��I�I�f��sl�AE9�D5�$E9�E�E9�3E�E9�$E(�8E9�5
E�?E9�
E�E9�
E%�!E9�(
E6�2E9�96F/c��[R"[5 [R"[S-5 [R"[S5 UR	[[SS9[5 UR	[[SS9[5 UR	[[[S9[5 [R"[5 URS5 UR	[[S-SS9[S-5 UR[[
[S-SS9 UR[[
[S-[S9 UR	[[S-SS9[S-5 UR[[
[S-SS9 UR[[
[S-[S9 [R"[S5 [R"[S-5 [R"[5 g![a GN<f=f![R"[S5 [R"[S-5 [R"[5 f=f)	NrXrFr*TzCannot block permissionsz/missingrg)
r�r�rrhr@rr�stat�skipTestrlr+rr�rTs r�"test_realpath_unreadable_directory�0PosixPathTest.test_realpath_unreadable_directoryDs���	$��H�H�V���H�H�V�d�]�#��H�H�V�U�#����X�f�U�;�V�D����X�f�T�:�F�C����X�f�]�C�V�L�
:�������
�
�8�9����X�f�t�m�E�B�#�d�]�
,����o�x��$��%)�
�
+����o�x��$��%2�
�
4�
���X�f�z�&9�%�H�#�j�0�
2����o�x��*�9L�%)�
�
+����o�x��*�9L�%2�
�
4�
�H�H�V�U�#��O�O�F�T�M�*��O�O�F�#��+#�
��
��&
�H�H�V�U�#��O�O�F�T�M�*��O�O�F�#�s2�B<H*�?H�C-H*�
H'�#H*�&H'�'H*�*AI>c�4�[[S5nURS5 SSS5 UR[	[SS9[5 UR[	[SS9[5 UR[	[[
S9[5 UR[	[S-SS9[5 UR
[[[S-SS9 UR
[[[S-[
S9 UR[	[S-SS9[5 UR
[[[S-SS9 UR
[[[S-[
S9 UR[	[S-SS9[[55 UR
[[[S-SS9 UR
[[[S-[
S9 UR[	[S	-SS9[S	-5 UR
[[[S	-SS9 UR
[[[S	-[
S9 [R"[5 g!,(df   GNL=f![R"[5 f=f)
N�w�test_posixpath wuz ereFr*TrFrr
�/subdir)r�rr�r@rrr+�NotADirectoryErrorrrr�rps  r�test_realpath_nonterminal_file�,PosixPathTest.test_realpath_nonterminal_filehs��	%��f�c�"�a����0�1�#����X�f�U�;�V�D����X�f�T�:�F�C����X�f�]�C�V�L����X�f�s�l�5�A�6�J����0�(�F�S�L�QU��V����0�(�F�S�L�%2�
�
4�
���X�f�t�m�E�B�F�K����0�(�F�T�M�RV��W����0�(�F�T�M�%2�
�
4�
���X�f�u�n�U�C�W�V�_�U����0�(�F�U�N�SW��X����0�(�F�U�N�%2�
�
4�
���X�f�y�&8��G��R[�I[�\����0�(�F�Y�<N�W[��\����0�(�F�Y�<N�%2�
�
4�
���V�$�5#�"��4
���V�$�s"�I;�I)�H*I;�)
I8�3I;�;Jc��[[S-S5nURS5 SSS5 [R"[S-[5 UR[
[SS9[S-5 UR[
[SS9[S-5 UR[
[[S9[S-5 UR[
[S-SS9[S-5 UR[[[S-SS9 UR[[[S-[S9 UR[
[S-SS9[S-5 UR[[[S-SS9 UR[[[S-[S9 UR[
[S	-SS9[[55 UR[[[S	-SS9 UR[[[S	-[S9 UR[
[S
-SS9[S-5 UR[[[S
-SS9 UR[[[S
-[S9 [R"[5 [R"[S-5 g!,(df   GN�=f![R"[5 [R"[S-5 f=f)Nr%rurvFr*TrFrr
rwz1/subdir)
r�rr�r�r�r@rrr+rxrrr�rps  r�)test_realpath_nonterminal_symlink_to_file�7PosixPathTest.test_realpath_nonterminal_symlink_to_file�sY��	+��f�s�l�C�(�A����0�1�)��J�J�v��|�V�,����X�f�U�;�V�c�\�J����X�f�T�:�F�S�L�I����X�f�]�C�V�c�\�R����X�f�s�l�5�A�6�C�<�P����0�(�F�S�L�QU��V����0�(�F�S�L�%2�
�
4�
���X�f�t�m�E�B�F�S�L�Q����0�(�F�T�M�RV��W����0�(�F�T�M�%2�
�
4�
���X�f�u�n�U�C�W�V�_�U����0�(�F�U�N�SW��X����0�(�F�U�N�%2�
�
4�
���X�f�y�&8��G��R\�I\�]����0�(�F�Y�<N�W[��\����0�(�F�Y�<N�%2�
�
4�
���V�$����V�c�\�*�9)�(��6
���V�$����V�c�\�*�s"�K�J:�IK�:
K	�K�9Lc���[[S-S5nURS5 SSS5 [R"[S-[S-5 [R"[S-[5 UR[
[SS9[S-5 UR[
[SS9[S-5 UR[
[SS9[S-5 UR[
[S-SS9[S-5 UR[[[S-SS9 UR[[[S-[S9 UR[
[S	-SS9[S-5 UR[[[S	-SS9 UR[[[S	-[S9 UR[
[S
-SS9[[55 UR[[[S
-SS9 UR[[[S
-[S9 UR[
[S-SS9[S-5 UR[[[S-SS9 UR[[[S-[S9 [R"[5 [R"[S-5 [R"[S-5 g!,(df   GN�=f![R"[5 [R"[S-5 [R"[S-5 f=f)
Nr&rurvr%Fr*TrFrr
rwz2/subdir)
r�rr�r�r�r@rr+rxrrrr�rps  r�5test_realpath_nonterminal_symlink_to_symlinks_to_file�CPosixPathTest.test_realpath_nonterminal_symlink_to_symlinks_to_file�s���	+��f�s�l�C�(�A����0�1�)��J�J�v��|�V�c�\�2��J�J�v��|�V�,����X�f�U�;�V�c�\�J����X�f�T�:�F�S�L�I����X�f�T�:�F�S�L�I����X�f�s�l�5�A�6�C�<�P����0�(�F�S�L�QU��V����0�(�F�S�L�%2�
�
4�
���X�f�t�m�E�B�F�S�L�Q����0�(�F�T�M�RV��W����0�(�F�T�M�%2�
�
4�
���X�f�u�n�U�C�W�V�_�U����0�(�F�U�N�SW��X����0�(�F�U�N�%2�
�
4�
���X�f�y�&8��G��R\�I\�]����0�(�F�Y�<N�W[��\����0�(�F�Y�<N�%2�
�
4�
���V�$����V�c�\�*����V�c�\�*�=)�(��8
���V�$����V�c�\�*����V�c�\�*�s#�L
�K8�I<L
�8
L�L
�
AM c���[RSsn[l[RR[R"55SnUR	[
[RS5 UR	[[RS5 UR[R"S5S5 UR[R"[R"S55S5 UR[R"S5S5 UR[R"S5S5 UR[R"SS5SU-S	-5 UR[R"SS
5SU-S-5 UR[R"SS5S
5 UR[R"SS5S5 UR[R"SS5S5 UR[R"SS5S5 UR[R"SS5S5 UR[R"SS5S5 UR[R"SS5S5 UR[R"SS5S5 UR[R"SS5S5 UR[R"S	S	5S5 UR[R"SS5S5 U[lg!U[lf=f)Nc��g)Nz/home/user/bar�r�rrr��,PosixPathTest.test_relpath.<locals>.<lambda>�s��7Hr���r$r6r8z../a/bz../brr<z../cr=r:z../../arbz/foo/bar/batz/x/y/zz../../../foo/bar/batrE�batrFzfoo/bar/batz../../..rCz../foo/bar/batz
../../../x)r�rr[rSr+�	TypeErrorr(r9r0r@r)r*�real_getcwd�curdirs   r�test_relpath�PosixPathTest.test_relpath�s}��$&�I�I�/H� ��b�i�	$��W�W�]�]�2�9�9�;�/��3�F����i��):�):�D�A����j�)�*;�*;�R�@����Y�.�.�s�3�S�9����Y�.�.�y�/@�/@��/E�F��L����Y�.�.�u�5�u�=����Y�.�.�x�8�(�C����Y�.�.�s�F�;�U�6�\�$�=N�O����Y�.�.�u�f�=�"�6�\�&�0�
2����Y�.�.�s�E�:�I�F����Y�.�.�s�C�8�#�>����Y�.�.�~�x�H�J`�a����Y�.�.�~�z�J�E�R����Y�.�.�~�s�C�]�S����Y�.�.�s�N�C�Z�P����Y�.�.�~�t�D�FV�W����Y�.�.�t�^�D�l�S����Y�.�.�s�C�8�#�>����Y�.�.�t�T�:�C�@����Y�.�.�v�v�>��D�#�B�I���B�I�s�L2M�
M*c�(�[RSsn[l[RR[R"55SnUR	[
[RS5 UR[R"S5S5 UR[R"[R"S55S5 UR[R"S5S5 UR[R"S5S5 UR[R"SS5SU-S	-5 UR[R"SS
5SU-S-5 UR[R"SS5S
5 UR[R"SS5S5 UR[R"SS5S5 UR[R"SS5S5 UR[R"SS5S5 UR[R"SS5S5 UR[R"SS5S5 UR[R"SS5S5 UR[R"SS5S5 UR[R"S	S	5S5 UR[R"SS5S5 UR	[[RSS5 UR	[[RSS5 U[lg!U[lf=f)Nc��g)Ns/home/user/barr�r�rrr��2PosixPathTest.test_relpath_bytes.<locals>.<lambda>�s��:Lrr�rrlsa/bs../a/bs../bs../rms../cs/a/bsb/cs../../ars/foo/bar/bats/x/y/zs../../../foo/bar/batrLsbatrMsfoo/bar/bats../../..s/xs../foo/bar/bats
../../../xsbytesr�)r�rr[rSr+r0r(r9r@rr�)r*�real_getcwdbr�s   r�test_relpath_bytes� PosixPathTest.test_relpath_bytes�s���&(�j�j�2L�"��r�z�	&��W�W�]�]�2�:�:�<�0��4�F����j�)�*;�*;�S�A����Y�.�.�t�4�d�;����Y�.�.�y�/@�/@��/F�G��N����Y�.�.�v�6��?����Y�.�.�y�9�9�E����Y�.�.�t�W�=�#�F�]�5�0�
2����Y�.�.�v�w�?�#�F�]�7�2�
4����Y�.�.�t�V�<�j�I����Y�.�.�t�T�:�D�A����Y�.�.��	�J�Lc�d����Y�.�.���L�f�U����Y�.�.���E�~�V����Y�.�.�t�_�E�{�S����Y�.�.���F�HY�Z����Y�.�.�u�o�F�
�V����Y�.�.�t�T�:�D�A����Y�.�.�u�e�<�d�C����Y�.�.�w��@�$�G����i��):�):�H�e�L����i��):�):�E�8�L�%�B�J���B�J�s�MN�
Nc�^�U4SjnU4SjnTR[[RS5 TR[[R/5 TR[[R[/55 U"[SS/5 U"[SS/5 U"S/S5 U"SS/S5 U"SS/S5 U"SS/S5 U"SS/S5 U"S	S
/S5 U"SS/S5 U"SS/S5 U"S
S/S5 U"S
S/S5 U"SS/S5 U"S
S/S5 U"S/S5 U"SS/S5 U"SS/S5 U"SS/S5 U"SS/S5 U"SS/S5 U"/SQS5 U"/SQS5 U"S/S5 U"SS/S5 U"[SS/5 TR[[RS S/5 TR[[RS S!/5 TR[[RS"S/5 TR[[RS
S#/5 TR[[RS
S$/5 TR[[RS%S#/5 g)&Nc
�>�TR[R"U5U5 TR[R"UVs/sHn[R"U5PM sn5[R"U55 gs snfr�)r@r(�
commonpathr�r�)�pathsr�pr*s   �r�check�,PosixPathTest.test_commonpath.<locals>.checks_������Y�1�1�%�8�(�C����Y�1�1�5�2Q�5�a�2�;�;�q�>�5�2Q�R��[�[��2�
4��2Qs� Bc
��>�TRU[RU5 TRU[RUVs/sHn[R"U5PM sn5 gs snfr�)r+r(r�r�r�)�excr�r�r*s   �r�check_error�2PosixPathTest.test_commonpath.<locals>.check_errorsP������c�9�#7�#7��?����c�9�#7�#7�7<�=�u�!�r�{�{�1�~�u�=�
?��=s� A*z/usr�usrz
/usr/localz/usr/local/z/usr//localz//usr/localz/usr/./localz/./usr/localrFz/devz	/usr/lib/z/usr/lib/python3z/usr/libz/usr/lib64/z
/usr/lib64�spam�alotr$�and/jam�and/spam�andzand//jamz
and/spam//z	and/./jamz
./and/spam)r�r�r�)r�r�r�z	spam/alotz
/spam/alots	/usr/lib/zusr/lib/python3susr/lib/s/usr/lib/python3susr/lib/python3zusr/lib/)r+r�r(r�r0�iter)r*r�r�s`  r�test_commonpath�PosixPathTest.test_commonpaths����	4�	?�
	
���)�Y�%9�%9�4�@����*�i�&:�&:�B�?����*�i�&:�&:�D��H�E��J����0��J����0�
�|�n�l�+�
�|�\�*�L�9�
�}�l�+�\�:�
�}�m�,�l�;�
�}�m�,�l�;�
�~�~�.��=�
�s�F�m�S�!�
�v�v���$�
�{�.�/��<�
�{�M�*�F�3�
�z�<�(�&�1�
�{�L�)�6�2�
�v�h���
�v�v���'�
�v�v���#�
�y�*�%�u�-�
�z�<�(�%�0�
�{�L�)�5�1�
�-�r�2�
�,�e�4�
�r�d�B��
�r�;���$��J��\� 2�3����)�Y�%9�%9�'�);�<�	>����)�Y�%9�%9�'�):�;�	=����)�Y�%9�%9�&�(:�;�	=����)�Y�%9�%9�&�(;�<�	>����)�Y�%9�%9�&�(:�;�	=����)�Y�%9�%9�%�':�;�	=rr�)D�__name__�
__module__�__qualname__�__firstlineno__r,rBrUr^rdrrrxr{r~r�r�r�r�r�r�skip_unless_symlinkr�r�skipIfr�r�r�r�r1r2r	�cpython_onlyr�r�r�r�rrrrrrrr#r'r-r6r:r=rHrKrNrUrYr\rar�rh�supports_follow_symlinksrirmrrryr|rr�r�r��__static_attributes__r�rrr!r!*s���A�5�0M�7�8&�:�4:�D�E�A�$N�?�$�:��"�"�%�#�%��_�_�U�d�]�$@�A�"�B�"�"�_�_�U�d�]�$@�A�"�B�"�*7��_�_�S�\�\�W�,�.L�M����?��N�?�?�L� �_�_�S�\�\�Y�.�3�5�%G�5�%G�N�_�_�S�\�\�Y�.�3�5�4�5�4�.3�N�j
3�'��2��$�'�(�M�)B�C�T�D�'�T�'��2��$�'�(�M�)B�C�M�D�'�M��"�"�&��2��-�0�1�%�2�'�#�%��"�"�&�%�'�#�%�]N�~�"�"�&��2��-�0�1�%�2�'�#�%��"�"�&��2��-�0�1�%�2�'�#�%��"�"�&�%)�'�#�%)�N�"�"�&��H�d�#�h�
�%>�?�%)�@�'�#�%)�N�"�"�&��2��$�'�(�M�)B�C�
$�D�'�#�
$��"�"�&��2��$�'�(�M�)B�C�$�D�'�#�$�"�"�"�&��2��-�0�1�$�2�'�#�$�$�"�"�&��2��$�'�(�M�)B�C�$�D�'�#�$�4�"�"�&��2��$�'�(�M�)B�C�$�D�'�#�$�"�"�"�&�
�_�_�R�X�X�R�%@�%@�@�Ba�b�
�_�_�S�\�\�X�-�/b�c�
%�d�c�'�#�
%��"�"�&�
�_�_�R�X�X�R�%@�%@�@�Ba�b�
�_�_�S�\�\�X�-�/b�c��H�d�#�h�
�%>�?��@�d�c�'�#�
� '��"�"� $�#�'� $�D'�%�'�%�<�"�"�&�+�'�#�+�@�"�"�&� +�'�#� +�D$�6&�<6=rr!c� �\rSrSr\r/SQrSrg)�PosixCommonTesti?)r9�samefile�sameopenfile�samestatr�N)r�r�r�r�r(�
pathmodule�
attributesr�r�rrr�r�?s���J�D�Jrr�c��\rSrSr\rSrSrSrSr	Sr
SrSrS	r
S
rSrSrS
rSrSrSrSrSrSr\"0SS0S\05S5rSrSrSrg)�
PathLikeTestsiDc��[Ul[[5UlUR	[
RUR5 [URSS5nURS5 SSS5 g!,(df   g=f)N�xbrstest_posixpath.PathLikeTests)	r�	file_namer
�	file_pathr�rr�r�r�)r*�files  rr,�PathLikeTests.setUpHsX�����!�&�)������	�(�(�$�.�.�9�
�$�.�.�$��
*�d��J�J�6�7�+�
*�
*�s�!A<�<
B
c�h�URU"UR5U"UR55 gr�)r@r�r�)r*�funcs  r�assertPathEqual�PathLikeTests.assertPathEqualOs$������d�n�n�-�t�D�N�N�/C�Drc�N�URURR5 gr�)r�r[�normcaserTs r�test_path_normcase� PathLikeTests.test_path_normcaseR������T�Y�Y�/�/�0rc�N�URURR5 gr�)r�r[rwrTs r�test_path_isabs�PathLikeTests.test_path_isabsU������T�Y�Y�_�_�-rc��URURRS[S5S5URRSSS55 g)Nr6r7r>)r@r[r?r
rTs r�test_path_join�PathLikeTests.test_path_joinXs;�����������X�c�]�C�@�������S�#�6�	8rc�N�URURR5 gr�)r�r[rSrTs r�test_path_split�PathLikeTests.test_path_split\r�rc�N�URURR5 gr�)r�r[rYrTs r�test_path_splitext� PathLikeTests.test_path_splitext_r�rc�N�URURR5 gr�)r�r[�
splitdriverTs r�test_path_splitdrive�"PathLikeTests.test_path_splitdriveb������T�Y�Y�1�1�2rc�N�URURR5 gr�)r�r[rorTs r�test_path_splitroot�!PathLikeTests.test_path_splitrootes�����T�Y�Y�0�0�1rc�N�URURR5 gr�)r�r[rrTs r�test_path_basename� PathLikeTests.test_path_basenamehr�rc�N�URURR5 gr�)r�r[rrTs r�test_path_dirname�PathLikeTests.test_path_dirnamek������T�Y�Y�.�.�/rc�N�URURR5 gr�)r�r[r�rTs r�test_path_islink�PathLikeTests.test_path_islinkns�����T�Y�Y�-�-�.rc�N�URURR5 gr�)r�r[r)rTs r�test_path_lexists�PathLikeTests.test_path_lexistsqr�rc�N�URURR5 gr�)r�r[r�rTs r�test_path_ismount�PathLikeTests.test_path_ismounttr�rc�N�URURR5 gr�)r�r[r�rTs r�test_path_expanduser�"PathLikeTests.test_path_expanduserwr�rc�N�URURR5 gr�)r�r[�
expandvarsrTs r�test_path_expandvars�"PathLikeTests.test_path_expandvarszr�rc�N�URURR5 gr�)r�r[r�rTs r�test_path_normpath� PathLikeTests.test_path_normpath}r�rc�N�URURR5 gr�)r�r[rrTs r�test_path_abspath�PathLikeTests.test_path_abspath�r�rrTc��URURR5 UR[URR40UD65 gr�)r�r[rrrs  r�test_path_realpath� PathLikeTests.test_path_realpath�s<�����T�Y�Y�/�/�0����W�T�Y�Y�%7�%7�B�6�B�Crc�N�URURR5 gr�)r�r[r9rTs r�test_path_relpath�PathLikeTests.test_path_relpath�r�rc��URRURUR/5nUR	XR5 gr�)r[r�r�r�r@)r*�common_paths  r�test_path_commonpath�"PathLikeTests.test_path_commonpath�s5���i�i�*�*�D�N�N�D�N�N�+K�L������n�n�5r)r�r�N)r�r�r�r�r(r[r,r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�r�rr�r�rrr�r�Ds����D�8�E�1�.�8�.�1�3�2�1�0�/�0�0�3�3�1�0��2��$�'�(�M�)B�C�D�D�D�
0�6rr��__main__)#r�r�r(r�r1r�	functoolsrrrrrrrr	r
�test.supportrr�test.support.os_helperr
rrr��ImportErrorrrr�TestCaser!�
CommonTestr�r�r��mainr�rr�<module>rs����	��
�
���I�I��!�&�"�3����
����=�2�R=�H�%�%�R=�j E�&�1�1�8�3D�3D�E�
J6�H�%�%�J6�Z�Z���M�M�O���#���E��s�C	�	C�C

Youez - 2016 - github.com/yon3zu
LinuXploit